If a software error corrupts a database, or if erroneous data updates the database, a database administrator may restore the database to a previous uncorrupted state that does not include the corrupted or erroneous data. A backup application executes a backup operation either occasionally or continuously to enable this restoration, storing a copy of each desired database state (the values of its data and these values' embedding in the database's data structures) within dedicated backup files. When the database administrator decides to return the database to a previous state, the database administrator specifies the desired previous state by identifying a desired point in time when the database was in this state, and instructs the backup application to execute a restore operation to restore the database with a copy of the backup files corresponding to that state.
A virtual machine executing in a distributed system node may store its database to a volume associated with its distributed system node or to another volume associated with another distributed system node. For example, a virtual machine's distributed system node may fail, which results in the virtual machine migrating to another distributed system node, but the virtual machine may continue to store its database to a volume owned by the failed distributed system node. A backup application may not only create and store a copy of each desired database state stored in a volume for a virtual machine, but also create and store a copy of the virtual machine itself to enable subsequent restoration of the virtual machine.